import re

# 正在试着用正则匹配某个文本模式，想修改它变成查找最短的可能匹配
def demo_1():
    text = 'Computer says "no." Phone says "yes."'
    # 模式r'\"(.*)\"'的意图是匹配被双引号包含的文本，但是在正则中*操作符是贪婪的，因此匹配操作会查找最长的可能匹配
    # 为了修正最长的可能匹配为最短，修改为r'\"(.*?)\"'， *符号后加?
    # 通常在*或者+这样的操作符后面添加一个？可以强制匹配算法，改成寻找最短的可能匹配
    str_pat = re.compile(r'\"(.*?)\"')
    str_pat_1 = re.compile(r'\"(.*)\"')
    result = str_pat.findall(text)
    result_1 = str_pat_1.findall(text)
    print(result)
    print(result_1)

if __name__ == '__main__':
    demo_1()